<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      let arr = [
        {
          id: '604e21feb205b95968e13129',
          pid: '0',
          name: '总裁办',
        },
        {
          id: '604e223fb205b95968e1312b',
          pid: '0',
          name: '人事部',
        },
        {
          id: '604e2251b205b95968e1312c',
          pid: '0',
          name: '财务部',
        },
        {
          id: '604e2262b205b95968e1312d',
          pid: '604e2251b205b95968e1312c',
          name: '财务核算部',
        },
        {
          id: '604e227db205b95968e1312e',
          pid: '604e2251b205b95968e1312c',
          name: '税务管理部',
        },
        {
          id: '604e2297b205b95968e1312f',
          pid: '604e2251b205b95968e1312c',
          name: '薪资管理部',
        },
        {
          id: '6051ad90e93db6522c1d00d2',
          pid: '0',
          name: '技术部',
        },
        {
          id: '6051adb6e93db6522c1d00d3',
          pid: '6051ad90e93db6522c1d00d2',
          name: 'Java研发部',
        },
        {
          id: '6051add6e93db6522c1d00d4',
          pid: '6051ad90e93db6522c1d00d2',
          name: 'Python研发部',
        },
        {
          id: '6051adefe93db6522c1d00d5',
          pid: '6051ad90e93db6522c1d00d2',
          name: 'Php研发部',
        },
      ]
      let newarr=[]
     
      for(let a in arr){
        
        if(arr[a].pid==='0'){
          arr[a].child=[]
          newarr.push(arr[a])
          
          delete arr[a] 
        }
      }
      for(let b in newarr){
        for(let a in arr){
          if(arr[a].pid===newarr[b].id){
            newarr[b].child.push(arr[a])
            delete arr[a]
          }
        }
      }

      
      console.log(arr);
      console.log(newarr);
      
    </script>
  </body>
</html>
